/**
 * 构造二叉树
 */
// class TreeNode {
//     constructor(val, left, right) {
//         this.val = val;
//         this.left = left;
//         this.right = right;
//     }
// }

// /**
//  *         1
//  *        /  \
//  *      2     3
//  *    /      /  \
//  *   6      4    5
//  */
// let arr = [1, 2, 3, 6, null, 4, 5];
// let LN = 0;

// // 根据数组创建一棵二叉树，也就是前序遍历构造二叉树
// function createTree(arr, i) {
//     if (i >= arr.length || !arr[i]) return null;
//     let tree = new TreeNode(arr[i]);
//     tree.left = createTree(arr, 2 * i + 1);
//     tree.right = createTree(arr, 2 * i + 2);
//     return tree;
// }

// let tree = createTree(arr, 0);

function reverseTree(root) {
    if (!root) {
        return null;
    }
    let left = root.left;
    let right = root.right;
    root.left = reverseTree(right);
    root.right = reverseTree(left);
    return root;
}
console.log( levelDFS(reverseTree(tree)));